home *** CD-ROM | disk | FTP | other *** search
/ Software of the Month Club 2000 October / Software of the Month - Ultimate Collection Shareware 277.iso / pc / PROGRAMS / UTILITY / WINLINUX / DATA1.CAB / programs_-_include / LINUX / SOUNDMOD.{73 < prev    next >
Text File  |  1999-09-17  |  2KB  |  91 lines

  1. /*
  2.  * The Linux soundcard driver for 1200 baud and 9600 baud packet radio
  3.  * (C) 1996-1998 by Thomas Sailer, HB9JNX/AE4WA
  4.  */
  5.  
  6. #ifndef _SOUNDMODEM_H
  7. #define _SOUNDMODEM_H
  8.  
  9. /* -------------------------------------------------------------------- */
  10. /*
  11.  * structs for the IOCTL commands
  12.  */
  13.  
  14. struct sm_debug_data {
  15.     unsigned int int_rate;
  16.     unsigned int mod_cycles;
  17.     unsigned int demod_cycles;
  18.     unsigned int dma_residue;
  19. };
  20.  
  21. struct sm_diag_data {
  22.     unsigned int mode;
  23.     unsigned int flags;
  24.     unsigned int samplesperbit;
  25.     unsigned int datalen;
  26.     short *data;
  27. };
  28.  
  29. struct sm_mixer_data {
  30.     unsigned int mixer_type;
  31.     unsigned int sample_rate;
  32.     unsigned int bit_rate;
  33.     unsigned int reg;
  34.     unsigned int data;
  35. };
  36.  
  37. struct sm_config {
  38.     int hardware;
  39.     int mode;
  40. };
  41.  
  42. struct sm_ioctl {
  43.     int cmd;
  44.     union {
  45.         struct sm_config cfg;
  46.         struct sm_diag_data diag;    
  47.         struct sm_mixer_data mix;
  48.         struct sm_debug_data dbg;
  49.     } data;
  50. };
  51.  
  52. /* -------------------------------------------------------------------- */
  53.  
  54. /*
  55.  * diagnose modes
  56.  */
  57. #define SM_DIAGMODE_OFF            0
  58. #define SM_DIAGMODE_INPUT          1
  59. #define SM_DIAGMODE_DEMOD          2
  60. #define SM_DIAGMODE_CONSTELLATION  3
  61.  
  62. /*
  63.  * diagnose flags
  64.  */
  65. #define SM_DIAGFLAG_DCDGATE    (1<<0)
  66. #define SM_DIAGFLAG_VALID      (1<<1)
  67.  
  68. /*
  69.  * mixer types
  70.  */
  71. #define SM_MIXER_INVALID       0
  72. #define SM_MIXER_AD1848        0x10
  73. #define SM_MIXER_CRYSTAL       0x11
  74. #define SM_MIXER_CT1335        0x20
  75. #define SM_MIXER_CT1345        0x21
  76. #define SM_MIXER_CT1745        0x22
  77.  
  78. /*
  79.  * ioctl values
  80.  */
  81. #define SMCTL_DIAGNOSE         0x82
  82. #define SMCTL_GETMIXER         0x83
  83. #define SMCTL_SETMIXER         0x84
  84. #define SMCTL_GETDEBUG         0x85
  85.  
  86. /* -------------------------------------------------------------------- */
  87.  
  88. #endif /* _SOUNDMODEM_H */
  89.  
  90. /* --------------------------------------------------------------------- */
  91.